
// 获取年月日 可以返回时分秒
// 调用
// formatDate('YY') // 2022
// formatDate('YY-MM')	// 2022-06
// formatDate('YY-MM-DD')	// 2022-06-02
// formatDate('YY-MM-DD hh:mm:ss')	// 2022-06-02 10:02:23
// formatDate('星期W')	// 星期四

// 判断手机系统 判断手机系统是否是Andriod，是的话增加一个padding-top的样式作为安卓的头部距离；ios的话还是让他自己适配
function  getNavigatorType () {
  let temp = ''
  var u = navigator.userAgent
  if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
    temp = 'Android'
  } else {
    temp = 'ios'
  }
  return temp
}


function formatDate (fmt) {
    const date = new Date()
    const o = {
      'Y+': date.getFullYear(),
      'M+': date.getMonth() + 1, // 月
      'D+': date.getDate(), // 日
      'h+': date.getHours(), // 时
      'm+': date.getMinutes(), // 分
      's+': date.getSeconds(), // 秒
      W: date.getDay() // 周
    }
    for (let k in o) {
      if (new RegExp('(' + k + ')').test(fmt)) {
        fmt = fmt.replace(RegExp.$1, () => {
          if (k === 'W') {
            // 星期几
            const week = ['日', '一', '二', '三', '四', '五', '六']
            return week[o[k]]
          } else if (k === 'Y+' || RegExp.$1.length === 1) {
            // 年份 or 小于10不加0
            return o[k]
          } else {
            return ('00' + o[k]).substr(('' + o[k]).length) // 小于10补位0
          }
        })
      }
    }
    return fmt
}
// 金额千分位格式化
function momenyFormat(num) {
	num = Number(num)
	if (isNaN(num)) return '0.00'
	return num.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
}

// 获取年月日
function getCurrentDate(){
    let date=new Date();
    let year=date.getFullYear();
    let month=date.getMonth()+1;
    let day=date.getDate();
    
    if(month<10){
        month='0'+month;
    }
    if(day<10){
        day='0'+day;
    }
    return `${year}-${month}-${day}`;
}

//监听滚动条位置，使用了闭包的写法封装了节流函数，实现了滚动条、点击事件的节流,优化了网页性能
//method:传入调用的方法名。mustRun:两者之间的间隔大于多少则必定执行.delay:如果点击过快，那么就设置一个定时器来触发函数。
function throttle(method,mustRun,delay){
    //scroll方法中当间隔时间大于2s，do somthing执行一次
    let timer;//使用闭包，缓存startTime
    let startTime = new Date();
    
    return function(){
        let curTime = new Date();
        if(curTime - startTime >= mustRun){//如果前后两次操作相隔时间超过mustRun,那么就会执行一次
//			        	console.log('立即执行了函数');
            method();
            startTime = curTime;//重置startTime
        }else{//操作间隔没有超过,那么就排队delay秒后执行一次
            clearTimeout(timer);
            timer=setTimeout(function(){
//			    console.log('延时执行了函数')
                method();
            },delay);
        }
    }
}


export default{
    getCurrentDate,
    throttle,
    formatDate,
    momenyFormat
}